#include <cstdio>
#include <map>
#include <algorithm>
#include <cstring>

using namespace std;

struct Node
{
    long long x, h;
};

bool operator < ( const Node &a, const Node &b )
{
    return a.x < b.x;
}

map<long long, long long> mx, mh;
Node a[ 100001 ];
int n, xt[ 100001 ], ht[ 100001 ];
long long c1[ 100001 ], c2[ 100001 ], c3[ 100001 ], c4[ 100001 ];

long long lowbit( long long t )
{
    return t & ( t ^ ( t - 1 ) );
}

void add( long long *c, int x, long long t )
{
    while ( x <= n )
    {
        c[ x ] += t;
        x += lowbit( x );
    }
}

long long sum( long long *c, int x )
{
    long long ret = 0;
    while ( x >= 1 )
    {
        ret += c[ x ];
        x -= lowbit( x );
    }
    return ret;
}

void init( )
{
    int i;
    long long hh, xx;
    mx.clear( );
    mh.clear( );
    memset( c1, 0, sizeof( c1 ) );
    memset( c2, 0, sizeof( c2 ) );
    memset( c3, 0, sizeof( c3 ) );
    memset( c4, 0, sizeof( c4 ) );
    for ( i = 0; i < n; i++ )
    {
        scanf("%I64d%I64d", &a[ i ].x, &a[ i ].h);
        xt[ i ] = a[ i ].x;
        ht[ i ] = a[ i ].h;
    }
    sort( a, a + n );
    sort( xt, xt + n );
    sort( ht, ht + n );
    mx[ xt[ 0 ] ] = 1;
    mh[ ht[ 0 ] ] = 1;
    for ( i = 1; i < n; i++ )
    {
        if ( xt[ i ] != xt[ i - 1 ] )
            mx[ xt[ i ] ] = i + 1;
        if ( ht[ i ] != ht[ i - 1 ] )
            mh[ ht[ i ] ] = i + 1;
    }
    for ( i = 0; i < n; i++ )
    {
        hh = mh[ a[ i ].h ]; xx = mx[ a[ i ].x ];
        add( c1, hh, hh * xx );
        add( c2, hh, hh );
        add( c3, hh, 1 );
        add( c4, hh, xx );
    }
}

void work( )
{
    int i;
    long long ans = 0, t1, t2, hh, xx;
    for ( i = 0; i < n; i++ )
    {
        hh = mh[ a[ i ].h ]; xx = mx[ a[ i ].x ];
        t1 = sum( c1, hh - 1 ) - xx * sum( c2, hh - 1 );
        t2 = hh * ( sum( c4, n ) - sum( c4, hh - 1 ) - xx * ( sum( c3, n ) - sum( c3, hh - 1 ) ) );
        ans += t1 + t2;
        add( c1, hh, -hh * xx );
        add( c2, hh, -hh );
        add( c3, hh, -1 );
        add( c4, hh, -xx );
    }
    printf("%I64d\n", ans);
}

int main( )
{
    while ( scanf("%d", &n) != EOF )
    {
        init( );
        work( );
    }
    return 0;
}
